package com.mes.cloud.api.dto.request.organization;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * 渠道定义
 * 
 * @author ysd
 * @version 2019-08-20 15:48:07
 * @email shaodong.yuan@pactera.com
 */
@Data
public class BaseChannelRequest implements Serializable{
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键", required = false)
    private String id;

    @ApiModelProperty(value = "代码", required = false)
    private String code;

    @ApiModelProperty(value = "名称", required = true)
    @NotNull(message = "渠道名称不能为空")
    private String name;

    @ApiModelProperty(value = "客户类型", required = true)
    @NotNull(message = "客户类型不能为空")
    private String customerType;

    @ApiModelProperty(value = "渠道属性", required = true)
    @NotNull(message = "渠道属性不能为空")
    private String type;

    @ApiModelProperty(value = "父节点ID", required = true)
    @NotNull(message = "父节点ID不能为空（顶级节点默认为0）")
    private String parentId;

    @ApiModelProperty(value = "父级组", required = true)
    @NotNull(message = "父级组不能为空")
    private String parentGroup;

    @ApiModelProperty(value = "级别（1级，2级，3级，4级，5级，6级，7级，8级，9级，10级）", required = true)
    private Integer moduleLevel;

    @ApiModelProperty(value = "上游节点名称", required = true)
    @NotNull(message = "上游节点名称不能为空（顶级节点输入默认值）")
    private String upperReaches;

    @ApiModelProperty(value = "状态(0：禁用，1：启用)", required = false)
    private String enableFlag;

    @ApiModelProperty(value = "删除标记，1：删除，0：未删除", required = false)
    private String delFlag;

}
